package IO_;

import java.io.*;
import java.util.Scanner;

/**
 * 进⾏普通⽂件的复制
 * 先读取源文件,再写入到复制文件中,边读边写
 * 只能在同一个目录下复制
 */
public class Io2 {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("请输入源文件路径:");
        String srcfile=scan.next();
        File file = new File(srcfile);
        if(!file.isFile()){
            System.out.println("源文件路径有误!!");
            return;
        }
        System.out.println("请输入目标文件路径:");
        String descfile=scan.next();
        File file1 = new File(descfile);
        //不要求目标文件存在,但路径 要是 目录
        if(!file1.getParentFile().isDirectory()){
            System.out.println("目标文件路径有误!!");
            return;
        }
        try(InputStream inputStream = new FileInputStream(file);
            FileOutputStream outputStream = new FileOutputStream(file1)){
            while(true){
                byte[] buffer=new byte[1024];
                int n = inputStream.read(buffer);//从源文件读取 到buffer数组中
                if(n==-1){
                    break;
                }
                outputStream.write(buffer,0,n);//将buffer数组中的内容写入到 目标文件中
            }
            System.out.println("文件复制完毕!!!!");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
